﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ForrajeriaDAL; //Estos Using Van siempre en esta capa
using ForrajeriaDB; //Estos Using Van siempre en esta capa

namespace ForrajeriaBCL
{
   public class EdadesBCL : InterfaceBCL<EdadesMO>
    {
        private EdadeDAL edadesDAL;


        public EdadesBCL()
        {
            edadesDAL = EdadeDAL.Instance; //consumiendo patron SINGLETON
        }


        public List<EdadesMO> GetAll()
        {
            try
            {
                return edadesDAL.GetAll();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public string Adicionar(EdadesMO item)
        {
            try
            {
                edadesDAL.Adicionar(item);
                return "1";
            }
            catch (Exception ex)
            {
                return "Error de escritura en Base de Datos";
            }
        }

        public string Eliminar(EdadesMO item)
        {
            try
            {
                edadesDAL.Eliminar(item);
                return "1";
            }
            catch (Exception ex)
            {
                if (ex.Message.ToString().Contains("Conflicto con la restricción REFERENCE")) //si esta subcadena es encontrada quiere decir q hay una RESTRICCION DE CLAVE FORANEA EN RELACION A ESA TUPLA! 
                    return "No es Posible eliminar ya que existen dependencias con otras tablas de la base de datos!";
                else
                    return "Error al intentar Eliminar";
            }
        }

        public string Actualizar(EdadesMO itemNuevo, EdadesMO itemViejo)
        {
            try
            {
                edadesDAL.Actualizar(itemNuevo, itemViejo);
                return "1";
            }
            catch (Exception ex)
            {
                return "Error Al modificar la edad";
            }

        }
    }
}
